In recent times, mobile applications have increased in popularity, thereby enabling speedy browsing and storage of large amount of data. Examples of the data include, but are not limited to, videos, catalogues, maps and music. The mobile applications also enable advertising of various products. The mobile applications are created using an Application Programming Interface (API). The API is a web platform including various components that enable creation of the mobile applications.
An API provider receives API traffic including large number of API requests, which correspond to the mobile applications, from multiple API developers. Each API developer is assigned a data channel for transmitting the API requests. The API requests from various data channels are received, by the API provider, in a multiplexed communication channel. The API provider further processes each of the API requests.
A conventional method of processing the API requests includes caching data sets based on a frequency of accessing a data set by the API requests. Purging of the data sets from a cache memory is also based on a time to live (TTL) associated with a data set that is stored in the cache memory. The caching of the data sets is also performed based on a service level agreement (SLA) associated with each API developer. The caching enables improved response time for the API requests. However, the conventional method of caching does not efficiently utilize the cache memory for storing the data set. The processing of the API requests also includes providing bandwidth for processing the API requests. The bandwidth for processing the API requests is provided, to each API developer, based on the SLA. In one example, the SLA can include providing the bandwidth for processing a pre-defined number of the API requests for a specific time duration. The processing is ceased when the API requests exceeds the pre-defined number. However, the conventional method fails to provide equitable distribution of the bandwidth for processing the API requests, which corresponds to each API developer, included in the API traffic. Further, the conventional method also results in under utilization of processing capacity of a message processing unit that is used for processing the API requests included in the API traffic.
In the light of the foregoing discussion, there is a need for processing the API traffic to enable equitable distribution of the bandwidth, enhanced user experience and increased revenue to the API provider.